/**
 * The MIT License (MIT)
 * 
 * Copyright (c) 2016 mo_yq5 (mo_yq5@163.com)
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 */
package com.openapi.alipay.trade.refund;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.openapi.alipay.AlipayResponse;

/**
 * 统一收单交易退款接口－响应参数
 * 
 * @author Moyq5
 * @since 2016年7月25日
 */
public class AlipayTradeRefundResponse extends AlipayResponse {

	/**
	 * 用户的登录id<br>
	 * 必填，最长100，如：159****5620
	 */
	@JsonProperty("buyer_logon_id")
	private String buyerLogonId;
	
	/**
	 * 买家在支付宝的用户id<br>
	 * 必填，最长28，如：2088101117955611
	 */
	@JsonProperty("buyer_user_id")
	private String buyerUserId;
	
	/**
	 * 本次退款是否发生了资金变化 <br>
	 * 必填，最长1，如：Y
	 */
	@JsonProperty("fund_change")
	private String fundChange;
	
	/**
	 * 退款支付时间<br>
	 * 必填，最长32，如：2014-11-27 15:45:57
	 */
	@JsonProperty("gmt_refund_pay")
	private String gmtRefundPay;
	
	/**
	 * 买家支付宝用户号，该参数已废弃，请不要使用<br>
	 * 必填，最长32，如：2088102122524333
	 */
	@JsonProperty("open_id")
	private String openId;
	
	/**
	 * 商户订单号<br>
	 * 必填，最长64，如：6823789339978248
	 */
	@JsonProperty("out_trade_no")
	private String outTradeNo;
	
	/**
	 * 退款使用的资金渠道
	 */
	@JsonProperty("refund_detail_item_list")
	private List<RefundDetailItem> refundDetailItemList;
	
	/**
	 * 退款总金额 <br>
	 * 必填，最长11，如：88.88
	 */
	@JsonProperty("refund_fee")
	private Float refundFee;
	
	/**
	 * 本次商户实际退回金额<br>
	 * 最长11，如：1.8
	 */
	@JsonProperty("send_back_fee")
	private String sendBackFee;
	
	/**
	 * 交易在支付时候的门店名称<br>
	 * 最长512，如：望湘园联洋店
	 */
	@JsonProperty("store_name")
	private String storeName;
	
	/**
	 * 支付宝交易号<br>
	 * 必填，最长64，如：2013112011001004330000121536
	 */
	@JsonProperty("trade_no")
	private String tradeNo;

	/**
	 * 用户的登录id<br>
	 * 必填，最长100，如：159****5620
	 * @return 用户的登录id
	 */
	public String getBuyerLogonId() {
		return buyerLogonId;
	}

	/**
	 * 用户的登录id<br>
	 * 必填，最长100，如：159****5620
	 * @param buyerLogonId 用户的登录id
	 */
	public void setBuyerLogonId(String buyerLogonId) {
		this.buyerLogonId = buyerLogonId;
	}

	/**
	 * 买家在支付宝的用户id<br>
	 * 必填，最长28，如：2088101117955611
	 * @return 买家在支付宝的用户id
	 */
	public String getBuyerUserId() {
		return buyerUserId;
	}

	/**
	 * 买家在支付宝的用户id<br>
	 * 必填，最长28，如：2088101117955611
	 * @param buyerUserId 买家在支付宝的用户id
	 */
	public void setBuyerUserId(String buyerUserId) {
		this.buyerUserId = buyerUserId;
	}

	/**
	 * 本次退款是否发生了资金变化 <br>
	 * 必填，最长1，如：Y
	 * @return
	 */
	public String getFundChange() {
		return fundChange;
	}

	/**
	 * 本次退款是否发生了资金变化 <br>
	 * 必填，最长1，如：Y
	 * @param fundChange
	 */
	public void setFundChange(String fundChange) {
		this.fundChange = fundChange;
	}

	/**
	 * 退款支付时间<br>
	 * 必填，最长32，如：2014-11-27 15:45:57
	 * @return 退款支付时间
	 */
	public String getGmtRefundPay() {
		return gmtRefundPay;
	}

	/**
	 * 退款支付时间<br>
	 * 必填，最长32，如：2014-11-27 15:45:57
	 * @param gmtRefundPay 退款支付时间
	 */
	public void setGmtRefundPay(String gmtRefundPay) {
		this.gmtRefundPay = gmtRefundPay;
	}

	/**
	 * 买家支付宝用户号，该参数已废弃，请不要使用<br>
	 * 必填，最长32，如：2088102122524333
	 * @return 买家支付宝用户号
	 */
	public String getOpenId() {
		return openId;
	}

	/**
	 * 买家支付宝用户号，该参数已废弃，请不要使用<br>
	 * 必填，最长32，如：2088102122524333
	 * @param openId 买家支付宝用户号
	 */
	public void setOpenId(String openId) {
		this.openId = openId;
	}

	/**
	 * 商户订单号<br>
	 * 必填，最长64，如：6823789339978248
	 * @return 商户订单号
	 */
	public String getOutTradeNo() {
		return outTradeNo;
	}

	/**
	 * 商户订单号<br>
	 * 必填，最长64，如：6823789339978248
	 * @param outTradeNo 商户订单号
	 */
	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	/**
	 * @return 退款使用的资金渠道
	 */
	public List<RefundDetailItem> getRefundDetailItemList() {
		return refundDetailItemList;
	}

	/**
	 * @param refundDetailItemList 退款使用的资金渠道
	 */
	public void setRefundDetailItemList(
			List<RefundDetailItem> refundDetailItemList) {
		this.refundDetailItemList = refundDetailItemList;
	}

	/**
	 * 退款总金额 <br>
	 * 必填，最长11，如：88.88
	 * @return 退款总金额
	 */
	public Float getRefundFee() {
		return refundFee;
	}

	/**
	 * 退款总金额 <br>
	 * 必填，最长11，如：88.88
	 * @param refundFee 退款总金额
	 */
	public void setRefundFee(Float refundFee) {
		this.refundFee = refundFee;
	}

	/**
	 * 本次商户实际退回金额<br>
	 * 最长11，如：1.8
	 * @return 本次商户实际退回金额
	 */
	public String getSendBackFee() {
		return sendBackFee;
	}

	/**
	 * 本次商户实际退回金额<br>
	 * 最长11，如：1.8
	 * @param sendBackFee 本次商户实际退回金额
	 */
	public void setSendBackFee(String sendBackFee) {
		this.sendBackFee = sendBackFee;
	}

	/**
	 * 交易在支付时候的门店名称<br>
	 * 最长512，如：望湘园联洋店
	 * @return 交易在支付时候的门店名称
	 */
	public String getStoreName() {
		return storeName;
	}

	/**
	 * 交易在支付时候的门店名称<br>
	 * 最长512，如：望湘园联洋店
	 * @param storeName 交易在支付时候的门店名称
	 */
	public void setStoreName(String storeName) {
		this.storeName = storeName;
	}

	/**
	 * 支付宝交易号<br>
	 * 必填，最长64，如：2013112011001004330000121536
	 * @return 支付宝交易号
	 */
	public String getTradeNo() {
		return tradeNo;
	}

	/**
	 * 支付宝交易号<br>
	 * 必填，最长64，如：2013112011001004330000121536
	 * @param tradeNo 支付宝交易号
	 */
	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

}
